<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    /* 
      流程控制语句：
        1、判断语句
            if语句，switch语句
        2、循环语句 
            while循环，do-while循环，for循环
        3、跳转语句
            break，continue，return
    */
    
    /* 
      while语句 

        语法：
          初始变量
          while(循环条件) {
            循环体;

            迭代条件
          }

          初始变量，在程序中只会出现1次，用于循环条件的判断
          循环条件，在程序中会出现多次，用于判断循环是否继续执行
          迭代条件，在程序中会出现多次，用于更新初始变量，用于循环条件的判断
    */

    // 在控制台输出10次你好
    // var i = 0;
    // while(i < 10) {
    //   console.log("你好");
    //   i++;
    // }

    /* 
      取出1900年-2000年之间所有的闰年年份，并统计个数
      year % 400 == 0 || (year % 4 ==0 && year % 100 !=0)
    */
    // var year = 1900;
    // var count = 0; // 统计个数，定义要在循环外
    // while(year <= 2000) {
    //   if(year % 400 == 0 || (year % 4 ==0 && year % 100 !=0)) {
    //     console.log(year);
    //     count++;
    //   }
    //   // 注意：在while语句中，迭代条件不能丢
    //   year++;
    // }
    // console.log("闰年的个数是：" + count);

    /* 
      while语句的其他用法
        while(循环条件) {

        }
    */
    /* 
      while(true) {
        满足条件跳出的语句
      }
      while(true)标准的死循环格式 

      什么情况下出现标准死循环
        在不知道循环多少次的情况下，使用
    */
    // var i = 0;
    // while(true) {
    //   console.log(i++);
    //   if(i === 20) {
    //     break;
    //   }
    // }
    // console.log("循环结束后需要执行的代码部分");

    /* 
      银行存入10W块钱，年化利率千分之三，多少年以后存款能到15W
    */
    var money = 100000;
    var year = 0;
    while(true) {
      // 利滚利
      // money = money + money * 0.003
      money += money * 0.003 // a += 5  a = a + 5
      year++;
      if(money >= 150000) {
        break;
      }
    }
    console.log("需要" + year + "年以后才能存够15W");
</script>
</body>
</html>